【OpenGL】Ubuntu 20.04 配置 OpenGL 环境 |
您所在的位置:网站首页 › opengl api version › 【OpenGL】Ubuntu 20.04 配置 OpenGL 环境 |
0. 前言 关于几种开发环境的组合,参考这篇博客: 1. 安装 CLion安装包下载链接: cd /usr/local sudo mkdir clion将下载得到的压缩包解压到目标文件夹下: sudo tar -zxvf CLion-2021.2.2.tar.gz -C /usr/local/clion创建打开软件的快捷方式: touch CLion.desktop填入下面的内容: [Desktop Entry] Encoding=UTF-8 Name=CLion Exec=/usr/local/clion/clion-2021.2.2/bin/clion.sh Icon=/usr/local/clion/clion-2021.2.2/bin/clion.png Terminal=False Type=Application StartupNotify=False Categories=Application;Development然后右键打开属性,修改文件的权限为可读可写,可作为可执行文件。 将其移动到指定文件夹中: sudo mv CLion.desktop /usr/share/applications然后就可以在启动台中找到该软件。 2. 安装相关包sudo apt-get install build-essential libgl1-mesa-dev sudo apt-get install freeglut3-dev sudo apt-get install libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev 3. 编译测试新建一个名为test的C项目。 // main.c #include void myDisplay(void) { glClear(GL_COLOR_BUFFER_BIT); glRectf(-0.5f, -0.5f, 0.5f, 0.5f); glFlush(); } int main(int argc, char *argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow("window name"); glutDisplayFunc(&myDisplay); glutMainLoop(); return 0; } # CMakeLists.txt cmake_minimum_required(VERSION 3.14) project(test) set(CMAKE_CXX_STANDARD 11) add_executable(test main.c) set(TARGET_LIB "/usr/lib/x86_64-linux-gnu/libGL.so" "/usr/lib/x86_64-linux-gnu/libGLU.so" "/usr/lib/x86_64-linux-gnu/libglut.so" ) target_link_libraries(test ${TARGET_LIB})编译运行,效果如下: 输出如下结果: GL_VERSION = 4.6 (Compatibility Profile) Mesa 21.0.3在该网站(https://glad.dav1d.de)进行选择,然后生成代码文件: 将zip文件解压后,将文件移动到指定路径下: cd glad/include sudo mv glad/ /usr/local/include #将glad目录移动到/usr/local/include sudo mv KHR/ /usr/local/include #将KHR目录移动到/usr/local/include # 最后将glad/src目录下的glad.c文件拷贝一份到你的工程源码目录下,如跟main.cpp文件在同一个目录下。 // main.cpp #include #include // Standard Headers #include #include #include void framebuffer_size_callback(GLFWwindow *window, int width, int height);//回调函数原型声明 void processInput(GLFWwindow *window); // settings const unsigned int SCR_WIDTH = 800; const unsigned int SCR_HEIGHT = 600; int main() { //初始化GLFW glfwInit(); glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3); glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3); glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //创建一个窗口对象 GLFWwindow *window = glfwCreateWindow(SCR_WIDTH, SCR_HEIGHT, "GLFW 3.3.1", NULL, NULL); if (window == NULL) { std::cout |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |